Global clustering of incidents based on malware similarity and online trustfulness

ABSTRACT

In an embodiment, a method, performed by processors of a computing device for creating and storing clusters of incident data records based on behavioral characteristic values in the records and origin characteristic values in the records, the method comprising: receiving a plurality of input incident data records comprising sets of attribute values; identifying two or more first incident data records that have a particular behavioral characteristic value; using a malicious incident behavioral data table that maps sets of behavioral characteristic values to identifiers of malicious acts in the network, and a plurality of comparison operations using the malicious incident behavioral data table and the two or more first incident data records, determining whether any of the two or more first incident data records are malicious; and if so, creating a similarity behavioral cluster record that includes the two or more first incident data records.

TECHNICAL FIELD

The present disclosure generally relates to an improvedcomputer-implemented intrusion detection system. More specifically, thedisclosure relates to techniques for creating and storing clusters ofincident data records that are based on behavioral characteristic valuesand origin characteristic values that are included in incident datarecords, and using the clusters to improve detection of security faultsor incidents in networked distributed computer systems.

BACKGROUND

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection.

Network security systems use information about data traffic to identifymalicious incidents in communications networks. Unfortunately, somebenign data traffic is often incorrectly classified as malicious, whilesome malicious traffic is often incorrectly classified as benign.Incorrect classifications may lead to incorrect reports and falsealarms.

Inaccuracies in reports generated by network security systems are oftencaused by inabilities to correctly identify attacks caused by complexand sophisticated malware. For example, some of the attacks launched byherders of command-and-control (C2) enterprises are often extensivelydecentralized, and thus it may be difficult to identify their origin ortheir characteristics. Such attacks often remain undetected orincorrectly classified.

Problems with detecting malicious attacks may be compounded by variousshortcomings of the network security systems. For example, some of thenetwork security systems incorrectly prioritize the detected incidentsor fail to associate correct context to the detected incidents. Othernetwork security systems incorrectly group the incident data receivedfrom multiple networks or multiple systems.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings:

FIG. 1 illustrates an example of a network environment for implementingan approach for global clustering of incidents based on malwaresimilarity and online trustfulness;

FIG. 2 illustrates an example of an approach for collecting informationabout network incidents in a multi-node network environment;

FIG. 3 illustrates examples of incident origin data;

FIG. 4 illustrates examples of identifiers of incident origin data;

FIG. 5A illustrates examples of incident behavior data;

FIG. 5B illustrates examples of additional incident behavior data;

FIG. 6 illustrates examples of graphical representations of incidentbehaviors;

FIG. 7 illustrates an example of an approach for creating a trustfulnesscluster;

FIG. 8 illustrates an example of an approach for creating a similaritybehavioral cluster;

FIG. 9 illustrates a flow chart of an approach for creating atrustfulness cluster;

FIG. 10 illustrates a flow chart of an approach for creating asimilarity behavioral cluster;

FIG. 11A illustrates an example of a malicious incident origin datatable;

FIG. 11B illustrates an example of a malicious incident behavioral datatable;

FIG. 12 illustrates a computer system with which various embodiments maybe used.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present approach. It will be apparent, however,that the present approach may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent approach.

1. Overview

Embodiments provide for an approach for clustering similar networksecurity incidents into high-level incident clusters. The clusteringapproach determines and takes into consideration contextual dataassociated with detected network incidents, and uses the contextual datato continuously cluster the incidents based on their trustfulness andbehavioral similarities. The contextual information is also used toimprove classification of the detected incidents and thus to improveefficiency of the intrusion detection systems.

In an embodiment, a data processing method is performed by one or moreprocessors of a computing device configured as a server, for creatingand storing clusters of incident data records based on behavioralcharacteristic values in the records and origin characteristic values inthe records. In an embodiment, a method comprises receiving a pluralityof input incident data records comprising sets of computer networkattribute values determined based upon a plurality of incidents thathave occurred in one or more computer networks. An incident data recordof the plurality of input incident data records may comprise at leastone or more behavioral characteristic values, a severity level value,and a confidence score value.

In an embodiment, a method comprises identifying two or more firstincident data records that have a particular behavioral characteristicvalue stored in all of the two or more first incident data records.Identifying the two or more first incident data records may be performedusing a malicious incident behavioral data table.

A malicious incident behavioral data table may be stored in a datastorage device. The table may be used to map sets of behavioralcharacteristic values to identifiers of malicious acts in the networkand a plurality of comparison operations using the malicious incidentbehavioral data table and the two or more first incident data records.

In response to determining that a first incident data record, from thetwo or more first incident data records, has been identified asmalicious, a similarity behavioral cluster record is created and storedin a computer memory. The similarity behavioral cluster record mayinclude the two or more first incident data records.

In an embodiment, severity level values that are stored in each of thetwo or more first incident data records are modified by increasing theseverity level values by a first value.

In an embodiment, confidence score values that are stored in each of thetwo or more first incident data records are modified by increasing theconfidence score values by a second value.

2. Structural Overview

Embodiments provide for an approach for correlating network incidentsdetected in one or more data communications networks based on behavioralproperties of the incidents and information about sources thatoriginated the incidents. Based on the correlation of the networkincidents, the incidents may be clustered into one or more clusters.Some of the clusters may include clusters containing network incidentsthat are characterized by similar behaviors. Other clusters may containnetwork incidents that are originated by the sources known to launchmalware attacks.

A cluster that contains network incidents that exhibit similar behaviorsmay be referred to as a similarity behavioral cluster, while a clusterthat contains network incidents that are originated by the same sourceknown to launch malware attacks may be referred to as a trustfulnesscluster.

FIG. 1 illustrates an example of a network environment for implementingan approach for global clustering of incidents based on malwaresimilarity and online trustfulness. In an embodiment, a networkenvironment 10 comprises one or more attacker nodes 120, 122, 124, oneor more attacked nodes 140, 142, 144, one or more security systems 110,and one or more databases 112. Attacker nodes 120, 122, 124, attackednodes 140, 142, 144 and security systems 110 communicate with each othervia a communications network 150, and optionally with additionalcomputer networks 130, 132, 134. For example, one or more of attackernodes 120, 122, 124 may launch a malware attack on one or more ofattacked nodes 140, 142, 144 via communications network 150. Informationabout the attack incidents may be collected and processed by securitysystem 110. Based on the processed information, security system 110 mayimplement an approach for global clustering of incidents to improveclassification of the detected incidents.

In an embodiment, the term attacker node is understood very broadly toinclude any type of entity capable of launching a cyber-attack. Hence,the term attacker node may include not only any type of a physicaldevice, but also a computer user, a computer domain, a computer network,a computer sub-network, and the like. For example, an attacker node maybe not only a computer sever, a laptop, a PC, a workstation, or atablet, but also a user who launched attacks on others from variouscomputer devices, a computer domain from which attacks were launched, acomputer network from which attacks were launched and/or a computersub-networks from which attacks were launched. In fact, the termattacker node is not limited to computer devices, users, domains,networks and sub-networks; it may include any physical or non-physicalentity capable of launching cyber-attacks.

For purposes of illustrating a clear example, network environment 10comprises three attacker nodes 120, 122, 124, three attacked nodes 140,142, 144, one network 150, one database 112, and three remotecommunications networks 130, 132, 134. However, other implementationsmay include any number of attacker nodes, attacked nodes, communicationsnetworks, databases, and remote communications networks.

2.1 Attacker Nodes and Attacked Nodes

Attacker nodes 120, 122, 124 and attacked nodes 140, 142, 144 may beindividual network devices, workstations, servers, or other computingdevices, as well as clusters of network devices or servers. Attackernodes 120, 122, 124 and attacked nodes 140, 142, 144 may also be user'sworkstations, laptops, smartphones, tablets and other user's specificdevices. Moreover, attacker nodes 120, 122, 124 and attacked nodes 140,142, 144 may be associated with local computer networks, wide areanetworks, or networks of companies or institutions and the like.

According to another example, one or more of attacker nodes 120, 122,124 may launch one or more malware attacks on one or more of attackednodes 140, 142, 144 via communications network 150. Information aboutthe attack incidents may be collected and processed by a third partysystem (not shown), and the processed information may be communicated tosecurity system 110. Based on the processed information, security system110 may implement an approach for global clustering of incidents toimprove the classification of the detected incidents.

In an embodiment, attacker nodes 120, 122, 124, attacked nodes 140, 142,144 and security systems 110 communicate with each other via acommunications network 150 and optionally, via one or more remotenetworks 130, 132, 134. For example, one or more attacker nodes 120,122, 124 may launch a malware attack on one or more of attacked nodes140, 142, 144 via communications network 150 and via one or more remotecommunications networks 130, 132, 134. Once an attack is launched, anincident data record, containing characteristics of the incident, may becreated and provided to security system 110 and used to detect attacksin the manner further described herein.

2.2 Security System

Security system 110 may be configured to receive incident data recordsfrom attacked nodes 140, 142, 144, and/or other devices in a network.Security system 110 may be implemented in a single network device, acluster of network devices, a distributed system, and the like. Forexample, security system 110 may be implemented in a standalone server,or may be implemented in a network of servers.

In an embodiment, attacked node 140 may detect an incident, collectinformation about the incident, create a record that contains one ormore characteristics of the incident, store the incident data record inits local database, and transmit the incident data record to securitysystem 110.

Based on received incident data records, security system 110 mayimplement an approach for global clustering of incidents to improve theclassification of the detected incidents. For example, security system110 may cluster the incident data records that contain the sameparticular behavioral characteristic value, which has been already knownto indicate a malicious attack. The incident data records that containsuch a particular behavioral characteristic value may be clustered toform a similarity behavioral cluster record.

A similarity behavioral cluster record may include two or more incidentdata records that contain a particular behavioral characteristic valuethat is known to indicate for example a malicious attack. Securitysystem 110 may determine that the particular behavioral characteristicvalue may be known to indicate a malicious attack by using a maliciousincident behavioral data table.

In an embodiment, security system 110 may cluster incident data recordsthat contain the same particular origin characteristic value, which hasbeen already known to indicate a malicious attacker. The incident datarecords that contain such a particular origin characteristic value maybe clustered to form a trustfulness cluster record. In some instances,the characteristic is associated with data that indicates that theorigin is a malicious attacker.

A trustfulness cluster record may include two or more incident datarecords that contain a particular origin characteristic value that isknown to indicate a malicious attacker. Security system 110 maydetermine that the particular origin characteristic value may be knownto indicate a malicious attacker by using a malicious incident origindata table

2.4 Incident Data Tables

One or more databases 112 may be configured to store data structuresthat support the operations described herein, including incident datarecords and mapping tables. For example, database 112 may be configuredto store one or more malicious incident behavioral data tables used toidentify behaviors that are malicious, borderline-malicious, benign, orthe like. Malicious incident origin data tables may be used to identifyorigins that are known to launch malicious attacks.

2.4.1 Malicious Incident Origin Data Tables

A malicious incident origin data table may be generated by a securitysystem, a system administrator, or a computer application. A maliciousincident origin data table may contain a mapping between sets of origincharacteristic values of incidents and identifiers of maliciousattackers. For example, one set of origin characteristic values maycontain for example, an Internet Protocol (IP) address of a server. Sucha server may be already identified as a malicious attacker, a possibleattacker, or an unlikely-attacker. If the particular IP address of aserver has been identified as an IP address of a malicious attacker,then a system may create or modify a malicious incident origin datatable to contain a mapping entry that maps the respective IP addressonto an indicator of a malicious attacker, or the like. An example of amalicious incident origin data table is described in FIG. 11A.

2.4.2 Malicious Incident Behavioral Data Tables

A malicious incident behavioral data table may be generated by asecurity system, a system administrator, or a computer application. Amalicious incident behavioral data table may contain a mapping betweensets of behavioral characteristic values of incidents and identifiers ofmalicious acts in a network. For example, one set of behavioralcharacteristic values may contain characteristics specific to a datatunneling approach for tunneling a significant amount of data to or froma particular network. Such a data tunneling approach may be alreadyidentified as malicious, borderline malicious, benign, or other. If thedata tunneling approach has been already identified as malicious, then asystem may create or modify a malicious incident behavioral data tableto contain a mapping entry that maps the respective behavioralcharacteristic values onto an indicator of a malicious attack, or thelike. Examples of a malicious incident behavioral data table isdescribed in FIG. 11B. The behavioral characteristic values may indicatethe data tunneling approach.

2.5 Non-Confirmed Incidents

A non-confirmed incident is an incident whose classification asmalicious, benign or the like has not been confirmed with a particularcertainty. For example, once an incident is detected, the incident maybe assigned an initial classification. An initial classification may bedetermined by any type of incident-detection-apparatus or applicationand using various methods and tools. However, since the initialclassification is determined without performing an in-depth analysis,the initial classification may be provided without providing anyassurance that the classification is correct. For example, an incidentmay be initially classified as borderline-malicious; however uponapplying an in-depth analysis, the initial classification may bemodified and/or changed to either indicate that the incident ismalicious, or to indicate that the incident is benign.

2.6 Confirmed Incidents

A confirmed incident is an incident whose classification as malicious,benign or the like has been confirmed with a particular certainty. Forexample, an incident that was initially classified as malicious maybecome a confirmed incident if it has been determined with a particularcertainty that the incident was indeed malicious. For example, if it hasbeen determined with some level of certainty that the incident wasindeed malicious, then the incident may become a confirmed maliciousincident.

A measure of a particular certainty may be determined in many ways. Oneway of determining a measure of the particular certainty is to compute aprobability or likelihood that the classification assigned to anincident is correct. Another way of determining a measure of theparticular certainty is to compute a score indicating how likely theassigned classification is correct. If the measure of the particularcertainty exceeds a threshold value, then the classification may beconfirmed. For example, if a probability that a particular incident ismalicious exceeds 50%, then it may be confirmed that the incident isindeed malicious. However, if a probability that a particular incidentis malicious is below 10%, then it may be confirmed that the incident isbenign, not malicious. If a probability that a particular incident ismalicious is between 10% and 50%, then it may be confirmed that theincident is borderline malicious.

2.7 Incident Clusters

In an embodiment, security system 110 clusters detected incidents. Theprocess of detecting clusters of incidents may be performed continuouslyas new events are detected and identified. For example, the process maybe performed each time new incidents are detected, new behaviors areidentified, new sources known to launch malware attacks are recognized,and new classifications of incidents become available. For example,security system 110 may receive a plurality of input incident datarecords containing characteristics of a plurality of detected networkincidents, and identify two or more first incident data records thathave a particular behavioral characteristic value. Using a maliciousincident behavioral data table, security system 110 may determine thatthe particular behavioral characteristic value is known to indicate amalicious attack. Based on that finding, security system 110 may createa similarity behavioral cluster record from the two or more firstincident data records. Security system 110 may also modify severitylevels and/or confidence scores of each of the two or more firstincident data records in the cluster.

Furthermore, security system 110 may identify two or more secondincident data records that contain a particular origin characteristicvalue. Furthermore, security system 110 may determine, using a maliciousincident origin data table, that the particular origin characteristicvalue is known to indicate a malicious attacker. Based on that finding,security system 110 may create a trustfulness cluster record, andinclude the two or more second incident data records in the trustfulnesscluster record. Security system 110 may also modify severity levels andconfidence levels for each of the two or more incident records includedin the trustfulness cluster record. Security system 110 may alsodetermine a trustfulness level for the trustfulness cluster record.Various examples of record modifications are described below.

In an embodiment, security system 110 determines a severity level of anincident to indicate a severity of the incident. For example, the higherthe severity level is, the more malicious the incident may be.

In an embodiment, security system 110 determines a confidence score ofan incident to indicate how close the incident is to a correspondingclassified behavior. For example, the higher the confidence level for anincident exhibiting malicious behavior is, the more likely the incidentis malicious.

In an embodiment, security system 110 may determine a trustfulness levelof a trustfulness cluster record to indicate how trusted or untrustedthe cluster is. For example, if a trustfulness level associated with aparticular trustfulness cluster record is relatively high, then theprobability that the cluster contains incidents that have the associatedincident records included in the cluster record may be relatively low.However, if the trustfulness level associated with a particulartrustfulness cluster record is relatively low, then the probability thatthe cluster contains incidents that have the associated incident recordsmay be relatively high.

Security system 110 may generate clusters that are at least partiallyoverlapping. For example, upon receiving information about a pluralityof detected network incidents, security system 110 may determine thatsome of the detected network incidents belong to two or more clusters.For example, some incidents may belong to both a trustfulness clusterand a similarity behavioral cluster.

In an embodiment, security system 110 determines sources of theincidents. The sources may include individual devices, individualnetworks, sub-networks, users, groups of users, and the like. Suchsources may include the sources that have not been known as launchingmalware attacks, as well as the sources that have been known aslaunching malware attacks. The latter may include C2 servers, and thelike.

Malicious behavior may be modelled using a variety of methods,including, but not limited to including, the statistical modellingNetFlow Analysis Tool from SolarWinds Worldwide, LLC, Austin, Tex. Otherbehavioral modelling may be provided by proxy logs and the like.

In an embodiment, security system 110 implements a clustering approachto improve the results obtained by incident detectors. Improvement ofthe results may be achieved by correlating the incidents that exhibitthe same malicious behavior and/or the same origin known to bemalicious. For example, the incidents may be correlated based onsimilarity of behaviors and characteristics of the origins thatoriginated the incidents.

Security system 110 may also be configured to maintain a database ofglobal online server trustfulness. The database may be built from allreported incidents, incident classifications, incident clustering,incident behaviors and incident origins. The clustered incidents may beorganized in the database according to various criteria, and informationabout the clustered incidents may be used to generate incident reports.The reports may be presented in a variety of formats and may providesummaries of the incidents.

2.8 Incident Features

In an embodiment, a clustering mechanism includes two stages ofprocessing various sets of incident feature data. The feature sets mayinclude, but are not limited to including, the features describingmalware behavior, including the incident volume, persistence, frequency,similarity between malware samples, and the like.

Other feature sets may include the features describing the identity ofincident sources. An identity of a source may be identified by a sourcename, a source IP address, a source email address, and the like.Features describing malware properties may be used to cluster similartypes of malicious behavior into incident clusters. For example, acluster may consist of incidents generated by servers hosted at variouslocations. The servers do not have to be interconnected, do not have tocommunicate with each other, and do not have to be in any way associatedwith each other.

In an embodiment, security system 110 uses identity features todetermine global trustfulness of servers. Trustfulness of a server thatoriginated incidents included in a cluster may be updated according toinformation about other incident included in cluster. For example, if aparticular trustfulness cluster includes two or more incidents, one ofwhich has been originated from a source known to launch maliciousattacks, then a trustfulness level for the entire trustfulness cluster,or the trustfulness level for one or more individual severs, may bedecreased to reflect the fact that the source has been known to launchmalicious attacks.

Using information about incident clusters, security system 110 maymodify a priority of the already detected incidents or confirm thepriority of the detected incidents waiting for further confirmation. Forexample, using the approach for a continuous clustering of incident datagenerated by an intrusion detection system, security system 110 maydetermine whether an incident initially classified as having aborderline-severity should be reclassified as being malicious. Forinstance, if one incident in a cluster exhibits behaviors that aresimilar to the behaviors that have been already classified as malicious,then the classification of all incidents in the cluster may be updatedto malicious.

In an embodiment, security system 110 implements an approach forclustering network incidents to provide various types of information,including context information for the reported incidents. Suchinformation is often unavailable from conventional approaches.Furthermore, security system 110 may implement an approach forgenerating a relatively accurate confirmation of the incident'sclassifications. Such information is rarely available when conventionalapproaches are implemented. Moreover, security system 110 may improve aconfidence level of the classification of the detected incidents incomparison to the confidence levels provided by conventional methods.

3. Examples of Incidents

FIG. 2 illustrates an example of an approach for collecting informationabout network incidents in a multi-node network environment. In theexample depicted in FIG. 2, various attacker nodes 120, 122 launchattacks on various attacked nodes 140, 142, 144.

Once an attack is detected and identified, the attack may be referred toas an incident. An incident is an attack detected and identified astaking place on an attacked node.

An incident may be detected and/or identified by an attacked nodeitself. For example, an attacked node may use one or more firewallapplications configured to detect receiving malicious, unwanted orotherwise undesirable emails. Furthermore, an attacked node may use oneor more spam detection application configured to intercept undesirablecommunications or data transfers. Moreover, an attacked node may useother types of applications that are configured to detect or identifyother types of attacks launched by attacker nodes.

An incident may also be detected and/or identified by an entity otherthan an attacked node. For example, a security system server or node maybe implemented in a network and configured to intercept and analyzecommunications exchanged between nodes in the network. The securitysystem server may be configured to analyze the interceptedcommunications, determine whether the intercepted communications wereoriginated by a node that was been blacklisted or otherwise known oflaunching attacks on the nodes. Furthermore, the security system servermay be configured to analyze the intercepted communications bydetermining whether the intercepted communications contain or otherwisedemonstrate a signature of a malicious attack or other unwantedactivity. Moreover, the security system server may be configured toanalyze the intercepted communications by determining whether theintercepted communications have been sent according to a communicationspattern known to be malicious or unwanted. Other types of detectingattacks are described below.

In an embodiment, upon detecting that an incident has occurred on anattacked node, the attacked node or a security system server determinesinformation specific to the incident and stores the information in adatabase. The information may include data about the type of theincident, the origin of the incident, the characteristics of theincident, and the like.

In an embodiment, information about an incident may be saved in adatabase as a record associated with an identifier assigned to theincident. Examples of various records are described below.

Each of one or more attacker nodes may launch one or more attacks on oneor more attacked nodes. The attacks may have the same type or differenttypes. The attacks may have the same characteristics or differentcharacteristics. Attacks of the same type and/or the samecharacteristics may be launched by the same attacker on one or moreattacked nodes. Furthermore, attacks of different types and/orcharacteristics may be launched by one or more attackers on the sameattacked node. For example, one attacker node may launch one or moreattacks of the first type on one or more attacked nodes, and one or moreattacks of the second type on the one or more attacked nodes or someother attacked nodes.

As an example, assume that attacker node 120 launched an attack via aconnection 252 on attacked node 140 of company A as seen in FIG. 2.Further assume that attacker node 120 also launched an attack via aconnection 254 on attacked node 140, and an attack via connection 256 onan attacked node 142 of company B. Incident 220 has been identified asmalicious or severe, while incidents 224, 226 have been identified asborderline malicious.

Furthermore, attacker node 122 launched an attack via a connection 258on attacked node 142. Incident 258 has been identified as borderlinesevere. Determination of whether an attack is malicious or borderlinemalicious may be performed using various approaches. An attack may bemalicious if for example, the attack brought a computer network down. Anattack may be borderline malicious if for example, the attack causedshort pauses in data communications in the computer network. One of theapproaches for example, may be based on determining behavioralcharacteristics of the attack, and determining that the attack ismalicious if the behavioral characteristics indicate so. Further it maybe determined that the attack is borderline severe if the behavioralcharacteristics indicate so. Other approaches may use thresholds orother measures allowing distinguishing malicious attacks from borderlineattacks.

In an embodiment, attacker node 120 performed two attacks of the sametype 1 against company A and a different attack of the type 2 againstcompany B. Only one of the attacks was detected and reported as amalicious incident, while the other attacks were reported as borderlineincidents with low severity, awaiting further confirmation. Attackernode 122 performed an attack of type 2 against company C. The attack wasdetected as a borderline incident, and awaits further confirmation. Inthe depicted example, the attacker nodes 120, 122 are not interconnectedwith each other. In other examples, the attacker nodes may be at leastpartially interconnected.

In an embodiment, a clustering approach allows a computer toautomatically generate confirmation about whether a detected incidenthas been correctly classified. Generating the confirmation may beaccomplished by determining a cluster to which the incident belongs, andthen either increasing or decreasing a confidence score associated withthe incident. For example, if a security system creates a trustfulnesscluster to include the incidents launched by attacker node 120, and oneof the attacks launched by attacker node 120 has been already identifiedas malicious, then the borderline incidents associated with attackernode 120 may also be reclassified from borderline severe to malicious.

A clustering approach may also be configured to generate various typesof confirmations. For example, a security system may create a similaritybehavioral cluster for the incidents that exhibit similar behaviors.Based on the similarity between incidents in the cluster, the incidentsthat have been initially classified as borderline severe may bereclassified to malicious if at least one of the incidents in thesimilarity behavioral cluster has been classified as malicious. Detailedexamples are provided in the following sections.

4. Initial Severity Levels of Incidents

In an embodiment, a network device, such as an attacked node or anyother node in a network, detects an incident and collects data about theincident. The collected data may include various characteristics of theincident indicating when, how, by whom, and with what level of severitythe incident was launched. For example, the data collected for aparticular incident may include information indicating that the attackoccurred at 11:55 AM PDT, that the attack severely impacted one or morenetwork devices associated with a particular domain, that the attackcaused a register buffer overflow in the one or more devices, that theattack was caused by an unsecure email sent from a particular IPaddress, and the like. A network device that collects data about anincident may disseminate the collected data to one or more securitysystem 112.

In an embodiment, upon receiving data about a detected incident,security system 112 processes the received data. For example, securitysystem 112 may associate a severity level value to the incident and/or aconfidence score value to the incident.

In an embodiment, a severity level value is used to indicate a severityof the incident, and a confidence score value is used to describe alikelihood that an incident indeed corresponds to the behavior that hasbeen determined and associated with the incident.

5. Initial Security Levels and Confidence Scores

Security system 112 may assign an initial or default security leveland/or a score to an incident. For example, security system 112 mayassign an initial severity level and/or an initial confidence scorevalue to an incident based on the characteristics of the incident, theorigin of the incident, and other information collected for theincident.

An initial severity level of an incident may indicate a severity of theincident and may be encoded as an alphanumeric textual code. Forexample, an initial severity level of an incident may be encoded toindicate whether the incident is malicious, borderline malicious,benign, or the like.

An initial confidence score value of an incident may be encoded as analphanumeric textual code, and may indicate a likelihood that theincident indeed corresponds to the behavior that has been determined andassociated with the incident. For example, an initial confidence scorevalue of an incident may be encoded to indicate the probability that theincident preliminarily classified as malicious is indeed malicious.

6. Modifying Severity Levels and Confidence Scores

In an embodiment, security system 112 modifies an initial severity leveland/or an initial confidence score value for an incident. For example,as security system 112 determines one or more incident clusters for theincident, the initial severity level and/or the initial confidence scorevalue for the incident may be modified.

In some cases, an initial severity level and/or an initial confidencescore value of an incident may be increased. For example, if securitysystem 112 determines that an incident is clustered into a particularincident cluster used to group the incidents known to be malicious, thenan initial severity level of the incident may be increased by somepredetermined amount.

Furthermore, if security system 112 determines a probability that theincident indeed belongs to a particular incident cluster that includesmalicious incidents, then an initial confidence score level of theincident may be increased by some predetermined amount.

In some other cases, an initial severity level and/or an initialconfidence score value of an incident may be decreased. For example, ifsecurity system 112 determines that an incident is clustered into aparticular incident cluster used to group the incidents known to bebenign, then an initial severity level of the incident may be decreasedby some predetermined amount.

Furthermore, if security system 112 determines a probability of theincident indeed belonging to the particular incident cluster used togroup the incidents known to be benign, then an initial confidence scorelevel of the incident may be increased by some predetermined amount.

In an embodiment, a severity level or severity is modified based on theseverity or trustfulness of the corresponding cluster, while aconfidence score level value or confidence score is increasedincrementally and depends on several factors. Such factors may includethe size of the cluster to which the incident belongs, or to which theincident has been classified. The size of a cluster may be determinedbased on the number of confirmed infected users or confirmed maliciousdomains associated with the incident. The factors may also include anindication of whether the cluster has been verified to be malicious.

A confidence score may be expressed as a percentage value, and may varybetween 0% and 100%. For example, a confidence score of 0% may indicatethat the incident unlikely belongs to a confirmed malware cluster, whilea confidence score of 100% may indicate that the incidents does belongto a confirmed malware clusters.

Assigning initial severity levels and initial confidence score values,and modifying severity levels and confidence score values, may beperformed manually or automatically by other independent systems. Forexample, a severity level of a cluster of an incident may be determinedoffline by a system administrator or a security system engineer. Thedetermination may be based on the information about the clusters towhich the incident has been assigned or based on other types ofinformation.

A severity level of a cluster may also be determined automatically(online). For example, upon determining a particular incident cluster towhich an incident is assigned, security system 112 may determine anaverage of the severity levels of all malicious or confirmed incidentsin the cluster.

In an embodiment, a severity level and/or a confidence score can bemodified for all incidents that occurred within a certain period oftime. For example, security system 112 may determine a severity leveland/or a confidence score for each incident that has been detected andidentified within a certain period of time, or for each incident thathas been detected and identified since a particular point in time.According to another example, security system 112 may determine severitylevel and/or confidence score for each incident that has been activesince a particular point in time, or that has been detected no laterthan since a particular point in time.

This may be illustrated using the following example: if an activityrelated to a particular incident is still active but a particularcluster to which the incident belongs has changed since the beginning ofthe incident, then modifying the severity levels and confidence scoresfor the incidents that belong to the particular cluster may be performedaccording to the latest cluster values. However, if an incident thatbelongs to a particular cluster has become inactive, then modifying theseverity levels and confidence scores for the incidents that belong tothe particular cluster may be suspended or ended. Modifications of theseverity levels a confidence scores for such incidents may be resumedif, for example, a membership of the particular cluster changes or anyof the activities related to an incident that belongs to the particularcluster becomes active.

In an embodiment, severity levels and confidence scores may be modifiedby particular values. The particular values may be determinedheuristically or empirically. For example, severity levels and/orconfidence scores for incidents that belong to a particular cluster maybe modified by the values that are determined as proportional to thescores associated with the incidents that belong to the particularcluster.

Alternatively, the severity levels and/or confidence scores forincidents that belong to a particular cluster may be modified byheuristically determined values, which later on may be modified andrefined.

In an embodiment, severity levels and confidence scores may be modifiedby both heuristic and predefined values. For example, a severity levelof an incident that belongs to a particular cluster may be initiallydetermined based on a heuristically chosen initial severity level score,and then modified based on the scores associated with the incidents thatbelong to the particular cluster.

7. Incident Origin Data

Once an incident is detected, incident data may be collected and used todetermine characteristics of the incidents. The characteristics may begrouped or categorized into different categories, and information aboutthe characteristics along with the corresponding categories may bestored in one or more databases. For example, the information about thecharacteristics and the corresponding categories determined for anincident may be stored in a database record associated with anidentifier assigned to the incident.

Characteristics determined for an incident may be categorized into oneor more categories. The one or more categories may include, but are notlimited to including, an origin of the incident, a type of the incident,and the like.

An origin of the incident indicates the originator of an attack detectedas an incident on one or more attacked nodes. An originator of an attackmay be interpreted as an attacker node, or in some situations, as agroup of a plurality of attacker nodes. For example, an originator maybe any of the attacker nodes 120, 122, 124.

In an embodiment, the term attacker node is understood very broadly andincludes any type of entity capable of launching a cyber-attack on otherentities. Hence, the term attacker node may include not only any type ofa physical device, but also a user, a computer domain, a computernetwork, a computer sub-network, and the like. For example, an attackernode may be include not only a computer sever, a laptop, a PC, aworkstation, or a tablet, but also a user who launched attacks on otherfrom various computer devices, a computer domain from which attacks werelaunched, a computer network from which attacks were launched and/or acomputer sub-networks from which attacks were launched. In fact, theterm an attacker node is not limited to computer devices, users,domains, networks and sub-networks. Further, it may include any physicalor non-physical entity capable of launching cyber-attacks. For example,it may include a virtual computer network, a software applicationconfigured to infect other applications and systems, and the like.

In an embodiment, information about an origin of the incident isrepresented using incident origin data. Incident origin data for anincident may uniquely identify the origin of the incident. Incidentorigin data for a particular incident may be used to encode informationabout the origin of the incident. For example, incident origin data fora particular incident may include an identifier of the origin of theincident, a description of the origin of the incident, or the like.

FIG. 3 illustrates examples of incident origin data 300. The depictedexamples are provided to merely illustrate non-limiting examples ofvarious types of incident origin data. In the depicted example, incidentorigin data 300 may comprise one or more of incident origin node data310, incident origin user data 320, incident origin domain data 330,incident origin network data 340 and incident origin sub-network data350.

Incident origin node data 310 may be used to identify or otherwisedescribe a node or a group of nodes that launched an attack. A node or agroup of nodes may be interpreted as a physical device, a virtualnetwork, a virtual group of users or other entity that is known tolaunch attacks and that has some common characteristics. For example,incident origin node data 310 may indicate a particular router thatoriginated or otherwise initiated a cyber-attack. Incident origin nodedata 310 may include any type of identifier that uniquely identifies theattacker. Examples of such identifiers are described in FIG. 4.

Incident origin user data 320 may be used to identify or otherwisedescribe one or more users who launched an attack. For example, incidentorigin user data 320 may indicate a particular user or a particulargroup of users who originated or otherwise initiated a cyber-attack. Theuser may be identified using various types of identifiers, some of whichare described in FIG. 4.

Incident origin domain data 330 may be used to identify or otherwisedescribe one or more domains from which an attack has been launched. Forexample, incident origin domain data 330 may indicate a particularcomputer domain that includes one or more computing devices or usersthat launched a cyber-attack. Some examples of identifiers of incidentorigin domain data 330 are described in FIG. 4.

Incident origin network data 340 may be used to identify or otherwisedescribe one or more computer networks from which an attack has beenlaunched. Incident origin network data 340 may include physical computernetworks as well as virtual computer networks. For example, incidentorigin network data 340 may indicate a particular virtual privatenetwork from which a cyber-attack has been launched. Some examples ofidentifiers of incidents origin network data 340 are described in FIG.4.

Incident origin sub-network data 350 may be used to identify orotherwise describe one or more physical or virtual computer sub-networksfrom which an attack has been launched. A physical or virtualsub-network may include one or more computing physical or virtualdevices, one or more physical or virtual computer networks, and thelike. For example, incident sub-network data 330 may indicate aparticular local sub-network from which a cyber-attack has beenlaunched. Some examples of identifiers of incidents origin sub-networkdata 350 are described in FIG. 4.

Examples of incident origin data depicted in FIG. 3 are to beinterpreted as non-limiting examples of the origin data. Other examplesof incident origin data not depicted in FIG. 3 may include, but are notlimited to including, substantially any type of data that indicates,identifies, or allows determining a source of the incident. For example,incident origin data of an incident may include the data that indicatesa bot herder, or any type of command-and-control (C2) center.

A bot herder is typically an owner of malware allowing the owner tocontrol a botnet of infected computers. A botnet is a network ofinterconnected, autonomous computers that are infected with malicioussoftware by a bot herder. Once the bot herder's software is installed ina computer, a bot is forced to carry out the commands of the bot herder,who can launch malicious attacks using some or all of the botnet'scompromised computers. Since identifying a bot herder is oftendifficult, instead of relying on the identifiers of the computers thatthe bot herder is using, some codes (identifiers) may be generated forthe bot herder itself.

8. Incident Origin Identifiers

Incident origin identifier uniquely identifies an origin of an incident.For example, an origin may be identified by an IP address of the origin,a domain name of the origin, and the like.

An identifier of an origin of an incident may be any type of analphanumeric string that uniquely identifies the origin. For example, anidentifier may be an IP address of a device from which an attack wasoriginated, or an email address from which malicious messages were sent.Some of the examples of incident origin identifiers are described inFIG. 4.

FIG. 4 illustrates examples of identifiers 400 of incident origin data.Examples depicted in FIG. 4 include incident origin node domainidentifiers 410, incident origin network domain identifiers 420,incident origin IP addresses 430, incident origin IP addresses 440 of agroups of devices, and incident origin email addresses 450 of users wholaunched one or more attacks.

An incident origin node domain identifier 410 of an incident may be anytype of an alphanumeric string that uniquely identifies an origin nodethat launched an attack detected as the incident. A domain name is aunique name that identifies an Internet resource such as a website. Forexample, a domain name may be represented as mywebsite.com. Domain namesare used in various networking contexts and application-specific namingand addressing purposes. For example, referring to FIG. 2, if attackernode 120 launched an attack detected as an incident 220, then anincident node domain identifier of the attacker node 120 may be used asan incident node domain identifier 410 of incident 220. Examples ofincident node domain identifiers may include the domains that have beendetected by specialized applications and tools, including various spamassassin applications, junk filters, junk mail filters and the like.

An incident origin network domain identifier 420 of an incident may beany type of an alphanumeric string that uniquely identifies an originnetwork that launched an attack detected as the incident. For example,referring to FIG. 2, if attacker node 120 launched an attack detected asan incident 220, attacker node 122 launched an attack detected as anincident 230, and both attacker node 120 and attacker node 122 belong tothe same network domain, then an incident network domain identifier ofboth attacker nodes 120, 122 may be used as an incident network domainidentifier 420 of incidents 220, 232.

An incident origin IP address 430 of an incident may be any type of theInternet Protocol (IP) address that uniquely identifies an origin nodethat launched an attack detected as the incident. An IP address is anumerical label assigned to a device in a computer network that uses theInternet Protocol. Referring to FIG. 2, if attacker node 120 launched anattack detected as an incident 220, then an incident IP address of theattacker node 120 may be used as an incident IP address 430 of incident220. Examples of incident node IP addresses may include a sequence offour numbers separated by a period, such as for instance 38.104.134.186.

An incident origin IP address of group devices 440 of an incident may beany type of the Internet Protocol (IP) address that uniquely identifiesa group of devices that originated an attack detected as the incident.For example, if two attacker nodes, which launched an attack detected asan incident, form a group of devices and the group has one IP addressassigned, then the IP address of the group may be used as an incidentorigin IP address 440. Examples of incident origin IP addresses of agroup of devices 440 may include a sequence of three numbers separatedby a period, such as for instance 38.0.0.1.

An incident origin email address 450 of an incident may be any type ofthe Internet email address that uniquely an entity that can send andreceive electronic mails. For example, if a userattacker@attackernode.com launched an attack detected as an incident,then the email address attacker@attackernode.com may be used as anincident origin email address 450.

9. Incident Behavior Data

Upon detecting an incident, data is collected for the incident and oneor more characteristics of the incident are determined and stored forthe incident. Some of the characteristics include incident origin data,which is described above. Among other characteristics arecharacteristics that pertain to behavioral characteristics of theincident. The behavioral characteristics may be represented usingincident behavior data.

Incident behavior data of an incident may include information aboutbehavior and/or unique features of the incident. Incident behavior datamay capture the information that allows determining when the incidentoccurred, in what circumstances the incident occurred, how often theincident has occurred, how persistently the incident occurs, whattriggered the occurrence of the incident, and the like.

In an embodiment, incident behavior data include data about low-levelfeatures and high-level features. Low-level features as well ashigh-level features may be used to describe malware behaviors. Low-levelfeatures may include the features determined using simple tools andapproaches, while high-level features may include the featuresdetermined using relatively complex tools and methodologies. Forexample, some low-level features may be determined by collectinginformation about network connections, network requests, and the like,while some high-level features may be determined by sophisticatedanalyzers of data traffic, such traffic sniffers, and the like.

FIG. 5A illustrates examples of incident behavior data 500. The depictedexamples include the data pertaining to low-level features, and includetunneling data 510, random domain contacting data 520, connectionchecking data 530, periodical polling data 540, and files downloadingdata 550. Tunneling data 510 contain information about tunnelsestablished in the network; random domain contacting data 520 containinformation about random attempts of access the network; connectionchecking data 530 contains information about testing the connectionsestablished in the network; periodical polling data 540 containsinformation about periodical polling of the status of the devices andthe connections in the network; and files downloading data 550 containsinformation about file downloads performed by user of the network. Thedepicted examples are provided to merely illustrate the type of dataused as low-level features. For example, files downloading data 550 maybe collected using system-administrator tools and may indicate whenlarge files have been downloaded or sent to a particular network, deviceor a user, how often large files are downloaded or sent to theparticular entities, whether the particular entity initiated downloadingof a large file, and the like.

FIG. 5B illustrates examples of additional incident behavior data 560.The depicted examples include the data pertaining to high-levelfeatures, and include volume data 562, persistence data 564, frequencydata 566, similarity between samples data 568, and additional data 570.Volume data 562 may include any type of data indicating the volume ofthe transferred files and the transferred communications. Persistencedata 564 may include any type of data indicating the counts of dataaccess attempts. Frequency data 566 may include any type of dataindicating the frequency in which the data access attempts wereperformed. Similarity between samples data 568 may include dataindicating whether transmitted data exhibits any similarities to thealready transmitted data. For example, similarity between samples data568 may be obtained using data traffic analyzers that intercept datatraffic, analyze the intercepted traffic and determine whether anypattern or similarity may be identified for the intercepted traffic.

Incident behavior data may be used to determine one or more clusters ofincidents. As new incidents are detected, additional incident behaviordata is obtained and used to update information about already identifiedclusters, to create new incident clusters, or both. For example, if twoincident clusters of incidents have been created using the incidentbehavior data, then upon receiving additional incident behavior data,the system may determine that some incident clusters became inactive,and/or may create additional clusters.

Incident behavior data may also be used to cluster the incidents thatappear to be initiated by botnets. Some botnets use Internet Relay Chat(IRC) channels as a medium for real-time Internet messaging. Otherbotnets may use peer-to-peer (P2P) technology. Such botnets aredifficult to identify and shut down. Malware designed to spread throughP2P communication channels does not need to check in with a centralizedserver for updates and commands. Rather, the infected machinescommunicate with one another to see the latest updates. A machineinfected with such malware transfers the malware to the other computers,spreading the malware without the use of a centralized C2 server. Bycollecting incident behavior data 500, 560, the system may cluster thedetected incidents even if they are launched as C2 attacks, and use theclustering approach to enhance classification of the incidents.

10. Graphical Representations of Incident Behaviors

Incident behaviors may be represented in a variety of ways, includingvarious forms of graphical representation. Graphical representations maybe useful in generating a graphical user interface (GUI) displayed on anoperating console of the security system.

FIG. 6 illustrates examples of graphical representations of incidentbehaviors 600. Examples of graphical representations of incidentbehaviors 600 may be shown as two-dimensional graphs plotting a severityof an incident against a time axis. For example, an example 610 show atwo-dimensional graph depicting that a particular incident was repeatedseveral times within a certain period of time, and severity of theincident varied within a certain range.

An example 620 shows a two-dimensional graph depicting that a particularincident was repeated several times within a certain period of time, andseverity of the incident varied at the first time period and decreasedin the second time period.

An example 630 shows a two-dimensional graph depicting that a particularincident was repeated several times within a certain period of time, andseverity of the incident was decreasing as the time was progressing.

An example 640 shows a two-dimensional graph depicting that a particularincident was repeated several times within a certain period of time, andseverity of the incident was relatively high in the first period time,but it decreased in the second period of time.

An example 650 shows a two-dimensional graph depicting that a particularincident was repeated just once within a certain period of time, andseverity of the incident was relatively high when the incident wasdetected.

Incident behaviors may be represented using other types of graphicalrepresentations. For example, the incidents may be labelled usingalphanumerical strings, such as type 1, type 2, and the like. Theincidents may also be shown using a variety of color schemes, or symbolsknown to depict different types of behavior. For example, an incidentthat appears to cause a security breach of a firewall may be graphicallyrepresented by a drawing depicting a wall and a X sign on the top of thewall. Other methods of graphically representing incident behaviors mayalso be implemented.

11. Trustfulness Clusters

Examples depicted in FIG. 7-8 illustrate various incident clusteringmethods, including creating trustfulness clusters and similarityclusters. In FIG. 7-8, attacker node 120 is also labelled as an attackernode 1, attacker node 122 is also labelled as attacker node 2, attackernode 140 is also labelled as company A, attacked node 142 is alsolabelled as company B, and attacker node 144 is also labelled as companyC. In examples depicted in FIG. 7-8, each of the nodes (and each of thecompanies) may represent one or more network devices, one or morenetworks, one or more users, and the like. Hence, references made to anattacked node or a company may include one or more entities on which oneor more attacks have been launched.

A trustfulness cluster 722 is depicted in FIG. 7 and FIG. 8. Similaritycluster 840 is depicted in FIG. 8. Even though FIG. 7, FIG. 8 depictonly one trustfulness cluster 722 and one similarity cluster 840,various pluralities of incidents may be grouped into a one or moretrustfulness clusters and/or one or more similarity clusters.

As described for FIG. 2, attacker node 120 performed two attacks of thesame type 212 against attacked node 140 and an attack of the type 214against attacked node 142. Only one of the attacks was detected andreported as a malicious incident, while the other attacks were reportedas borderline incidents with low severity, awaiting furtherconfirmation. Furthermore, attacker node 122 performed an attack of type218 against attacked node 144. The attack was detected as a borderlineincident, and awaits further confirmation.

In FIG. 2, FIG. 7, FIG. 8, an attack type 214 is the same type as anattack type 218. However, both attack types 214, 218 are different fromattack type 212

An incident may be identified as malicious if, using some reference dataor a rating scale, it can be determined that a severity of the incidentis relatively high.

An incident may be identified as borderline if, using some referencedata or a rating scale, it can be determined that a severity of theincident is relatively low. For example, an incident that appears tocause a security breach in a computer network may be consideredmalicious, while an incident that appears to slow down transmissions ofdata traffic to a particular device for 5 seconds may be consideredborderline.

In an embodiment, an incident that has been identified with somecertainty as borderline-malicious may be marked or tagged as an incidentfor which a confirmation is requested. Confirming whether an incident isindeed borderline malicious or malicious may be performed using avariety approaches, including an incident clustering approach.

In an embodiment, a clustering approach allows generating various typesof confirmation. A non-limiting example of the confirmation may includea confirmation indicating whether a detected incident, which wasoriginally classified as borderline severe, is malicious. This may beaccomplished by determining a cluster that includes the incident, and,based on the feedback pertaining to the incidents that have beenidentified as malicious incidents and that belong to the cluster,lowering the trustfulness of the node that launched the incident. Forexample, if a security system creates a trustfulness cluster to includethe incidents launched by attacker node 120, and one of the attackslaunched by attacker node 120 has been already identified as malicious,then the borderline incidents associated with attacker node 120 may alsobe reclassified from borderline severe to malicious.

FIG. 7 illustrates an example of an approach for creating a trustfulnesscluster. In the depicted example, the system created a trustfulnesscluster 722 that includes the incidents that have been launched from theattacker suspected of launching malicious attacks. Trustfulness cluster722 includes incidents 220, 724 and 726.

In an embodiment, a trustfulness cluster is created to include theincidents which have been caused by attacks launched from the sameattacker node, and at least one of which has been confirmed as havingcertain characteristics. For example, if a particular attacker launchedseveral attacks on various attacked nodes, and one of those attackscaused an incident detected as malicious, then a trustfulness clustermay be created to include the malicious incident and other incidentscaused by the attacks launched by the attacker node even if not all theincidents were initially classified as malicious. Hence, if a particularattacker node launched two attacks, one of which caused an incident thathas been confirmed as malicious and the other attacks caused incidentsthat have not been confirmed, then a trustfulness cluster may be createdto include the confirmed malicious incident and other non-confirmedincidents caused by the attacks launched by the particular attackernode.

In the example depicted in FIG. 7, trustfulness cluster 722 was createdto include incidents 220, 724 and 726 because incident 220 (caused by anattack launched by attacker node 120) has been confirmed as maliciousand because incidents 724, 726 have been caused by attacks launched fromthe same attacker node 120.

Thus, because attacker node 120 launched an attack identified asmalicious incident 220, borderline-malicious incidents 224 and 226 fromFIG. 2, have been confirmed as malicious incidents 724, 726,respectively, because they were launched from attacker node 120confirmed as known to launch malicious attacks. By confirming incidents224, 226 to malicious incidents 724, 726, respectively, incidents 724,726 have been included into trustfulness cluster 722 along with incident220.

In an embodiment, including an incident into a particular trustfulnesscluster includes modifying a severity level value and/or a confidencescore value associated with the incident. For example, if an incidentwas initially classified as borderline-malicious, but later confirmed tobe malicious, then a severity level value associated with the incidentmay be increased by some predetermined value. Furthermore, if aconfidence score value is associated with the incident, and theclassification of the incident has been confirmed, then the confidencescore value associated with the incident may also be increased.

According to another example, if an incident was initially classified asmalicious, but later confirmed to be benign, then a severity level valueassociated with the incident may be decreased by some predeterminedvalue. Furthermore, if a confidence score value is associated with theincident, and the classification of the incident has been confirmed,then the confidence score value associated with the incident may also bedecreased.

In an embodiment, a trustfulness cluster may have an associated severitylevel value and/or an associated confidence score value. These valuesmay be modified as new incidents are added to the cluster, as someincidents are removed from the cluster, or when the cluster isdetermined to be inactive or dormant. For example, an associatedconfidence score value of a particular trustfulness cluster may becomputed as an average value of the confidence score values associatedwith the incidents included in the cluster. Also, if new incidents areadded to a particular trustfulness cluster of malicious incidents, thenthe associated confidence score values of the added incidents may beused in re-computing the confidence score value associated with theparticular trustfulness cluster.

Trustfulness clusters may be created for various types of incidents. Forexample, trustfulness clusters may be created for incidents that havebeen confirmed as malicious, other trustfulness clusters may be createdfor incidents that have been confirmed as benign, and so forth.

In an embodiment, one or more different types of trustfulness clusterscan be created for a plurality of incidents. For example, one or moretrustfulness clusters for malicious incidents may be created for thoseincidents from the plurality that have been confirmed to be malicious.Furthermore, one or more trustfulness clusters may be created for thoseincidents that have been confirmed to be borderline-malicious. Moreover,one or more trustfulness clusters may be created for those incidentsthat have been confirmed to be benign, and so forth.

12. Similarity Clusters

As described for FIG. 2, attacker node 120 performed an attack of thetype 212 against attacked node 140 and an attack of type 214 againstattacked node 142. The attacks were detected and reported asborderline-malicious incidents 224, 226. Furthermore, attacker node 122performed an attack of type 218 against attacked node 144. The attackwas detected as a borderline incident 230, and awaited furtherconfirmation.

As described for FIG. 7, by confirming incidents 224, 226 to maliciousincidents 724, 726, respectively, incidents 724, 726 were included intotrustfulness cluster 722. Hence, trustfulness cluster 722 includesincidents 220, 724 and 726, each of which is confirmed to be malicious.However, incident 230 still awaits further confirmation. The result ofconfirming the severity of incident 230 is depicted in FIG. 8.

FIG. 8 illustrates an example of an approach for creating a similaritybehavioral cluster 840. Attacker nodes 120, 122 in FIG. 2 correspond toattacker nodes 120, 122 in FIG. 7 and FIG. 8. Attached nodes 140, 142,144 in FIG. 2 correspond to attacked nodes 140, 142, 144 in FIG. 2 andFIG. 7. Trustfulness cluster 722 in FIG. 7 corresponds to trustfulnesscluster 722 in FIG. 8. Trustfulness cluster 722 includes incidents, 220,724 and 726. Similarity cluster 840 includes incidents 726 and 830.

In an embodiment, a similarity cluster 840 is created to include thoseincidents that have been caused by attacks of the same type, but atleast one of which has been already confirmed to have certaincharacteristics. For example, if a particular incident has been alreadyconfirmed as malicious and was caused by an attack of a certain type,then other incidents caused by attacks of the same certain type may beincluded into the same similarity cluster as the particular incident.Hence, even if the incidents were caused by attacks launched bydifferent attackers, as long as the incidents were caused by the attacksof the same type and one of them has been confirmed as having certaincharacteristics, such incidents may be included in the same similaritycluster. For example, if various attacker nodes launched several attacksof the same type, and one of the attacks caused an incident that hasbeen classified as malicious, then the system may create a similaritycluster to include all such attacks even though they might have beencaused by attacks launched by different entities.

In the example depicted in FIG. 8, similarity cluster 840 was created toinclude incidents 726 and 830 because they were both caused by attacksof the same type (214, 218). In particular, once incident 726 has beenconfirmed as malicious and included in similarity cluster 840, otherincidents caused by attacks of the same type 214, 218 may also beincluded in the similarity cluster 840.

Thus, because incidents 726 and 830 have been caused by attacks of thesame type 214, 218 and incident 726 has been confirmed as malicious,incident 830 is being confirmed as malicious even though it wasinitially classified as borderline-malicious and even though it wascaused by an attack launched from the attacker other than the attackerthat cause incident 726. By confirming incident 230 to maliciousincident 830, incident 830 has been included into similarity cluster 840along with incident 726.

In an embodiment, including an incident into a particular similaritycluster includes modifying a severity level value and/or a confidencescore value associated with the incident. For example, if an incidentwas initially classified as borderline-malicious, but later confirmed tobe malicious, then a severity level value associated with the incidentmay be increased by some predetermined value. Furthermore, if aconfidence score value is associated with the incident, and theclassification of the incident has been confirmed, then the confidencescore value associated with the incident may also be increased.

According to another example, if an incident was initially classified asmalicious, but later confirmed to be benign, then a severity level valueassociated with the incident may be decreased by some predeterminedvalue. Furthermore, if a confidence score value is associated with theincident, and the classification of the incident has been confirmed,then the confidence score value associated with the incident may also bedecreased.

In an embodiment, a similarity cluster may have an associated severitylevel value and/or an associated confidence score value. These valuesmay be modified as new incidents are added to the cluster, as someincidents are removed from the cluster, or when the cluster isdetermined to be inactive or dormant. For example, an associatedseverity level value of a particular similarity cluster may be computedas an average value of the severity level values associated with theincidents included in the cluster. Also, if new incidents are added to aparticular similarity cluster of malicious incidents, then theassociated severity level values of the added incidents may be used inre-computing the severity level value associated with the particulartrustfulness cluster.

In an embodiment, one or more different types of similarity clusters canbe created for a plurality of incidents. For example, one or moresimilarity clusters for malicious incidents may be created for thoseincidents from the plurality that have been confirmed to be malicious.Furthermore, one or more similarity clusters may be created for thoseincidents that have been confirmed to be borderline-malicious. Moreover,one or more similarity clusters may be created for those incidents thathave been confirmed to be benign, and so forth.

13. Creating a Trustfulness Cluster

FIG. 9 illustrates a flow chart of an approach for creating atrustfulness cluster. The flow chart depicts a workflow that may beexecuted for any combination of non-confirmed and confirmed incidents.For example, initially the workflow may be executed to create at leastone trustfulness cluster from a plurality of detected, but non-confirmedincidents. Furthermore, the workflow may be executed to modify thealready created trustfulness clusters or to add new trustfulnessclusters as some of the non-confirmed incidents became confirmed.Moreover, the workflow may be executed to modify the already createdtrustfulness clusters or to add new trustfulness clusters as some of theclusters became inactive or obsolete. The process may be also repeatedafter similarity behavioral clusters are created or modified.

Once at least one similarity behavioral cluster is created, additionalsimilarity behavioral clusters may be created. The clusters may overlapor may be separated from each other. As the process is repeated, someclusters may become inactive or obsolete, while others may be becomelarger or smaller. Furthermore as new incidents are detected, newclusters may be created or the existed clusters may be modified.

In step 910, a plurality of input incident data records are received ata security system. In an embodiment, the plurality of input incidentdata records includes records of any number of non-confirmed incidentsand records of any number of confirmed incidents as long as at least twoincident data records are received. It should be appreciated that insome situations, a similarity behavioral cluster may be created based onjust one incident data record.

In step 920, a plurality of input incident data records are scanned toidentify two or more first incident data records that contain aparticular origin characteristic value. For example, the plurality ofinput incident data records can be scanned to identify two or more firstincident data records that contain the origin characteristic valuecorresponding to an identifier of a particular attacker node, such asattacker node 120 in FIG. 2.

In step 930, two or more first incident data records that contain aparticular origin characteristic value are compared to a stored tablethat maps particular sets of origin characteristics values toindications of malware. For example, the two or more first incident datarecords that contain the identifier of a particular attacker node may becompared to a malicious incident origin data table 1152 of FIG. 11A todetermine whether the malicious incident origin data table 1152 containsan indication that the particular attacker node is known to launchmalicious attacks.

In step 940, using a table such as a malicious incident origin datatable 1152 of FIG. 11A, the process determines whether two or more firstincident data includes the origin characteristic value that indicates anattacker node known to launch malicious attacks.

In step 950, the process determines whether the test performed in step940 returned a positive result. If so, the process proceeds to step 960.Otherwise, the process proceeds to step 920, in which a plurality ofinput incident data records is scanned again to identify different twoor more first incident data records that contain a particular origincharacteristic value. For example, the process may scan the incidentdata records to identify this time two or more first incident datarecords that contain the origin characteristic value corresponding to anidentifier of an attacker node 122 in FIG. 2.

In step 960, a trustfulness cluster record is created. In an embodiment,creating a trustfulness cluster record includes allocating a block ofmemory or disc space, associating a pointer and or other locationidentifier to the block of memory or the disc space, and configuring theblock of memory or disc space for storing the trustfulness clusterrecord. Furthermore, the process may generate an identifier for thetrustfulness cluster and store the identifier in the trustfulnesscluster record.

In an embodiment, creating a trustfulness cluster record includesgenerating an initial severity level value and an initial confidencescore and including them in the trustfulness cluster record. Generatingan initial severity level value may include setting the initial severitylevel value to a predetermined initial level value, while generating aninitial confidence score may include setting the initial confidencescore to a predetermined initial score value.

In step 970, two or more first incident data records, which contain anidentifier of a particular attacker node that launched attacks for whichthe two or more first incident data records were created, are includedin a trustfulness cluster record.

In an embodiment, once steps 960, 970 are performed, a trustfulnesscluster record may include an identifier of the trustfulness cluster, aninitial severity level value, an initial confidence score, and two ormore first incident data records containing the identifier of theparticular attacker that launched attacks for which the two or morefirst incident data records were created.

In step 980, at least one initial severity level value and at least oneinitial confidence score are modified. For example, an initial severitylevel value for a particular first incident may be modified by computinga sum of all initial severity level values associated with the firstincidents, and dividing the sum by a count of the first incidentsincluded in the trustfulness cluster. The obtained result may beassociated with a particular first incident data record associated withthe particular first incident and stored in association with theparticular first incident record in a trustfulness cluster record.

Furthermore, an initial confidence score for a particular first incidentmay be modified by computing a sum of all initial confidence scoresassociated with the first incidents, and dividing the sum by a count ofthe first incidents included in the trustfulness cluster. The obtainedresult may be included in a particular first incident data recordassociated with the particular first incident or stored in associationwith the particular first incident record in a trustfulness clusterrecord.

The process described above is executed for creating a trustfulnesscluster for incidents most likely caused by attacks launched byattackers known to launch malicious attacks. However, the process mayalso be executed for creating other types of clusters, including atrustfulness cluster for incidents most likely caused by attackslaunched by attackers known to launch benign attacks, or the like. Infact, the process described in FIG. 9 may be used to create any type oftrustfulness cluster.

The above workflow process may be repeated multiple times. Each time theworkflow process is repeated, the previously determined level values andscores may be interpreted as initial level values and initial scores. Byrepeating the workflow process multiple times, the selection and contentof the trustfulness clusters may be refined and improved.

14. Creating a Similarity Behavioral Cluster

FIG. 10 illustrates a flow chart of an approach for creating asimilarity behavioral cluster. The flow chart depicts a workflow thatmay be executed for any combination of non-confirmed and confirmedincidents. For example, initially the workflow may be executed to createat least one similarity behavioral cluster from a plurality of detected,but non-confirmed incidents. Furthermore, the workflow may be executedto modify the already created similarity behavioral clusters or to addnew similarity behavioral clusters as some of the non-confirmedincidents became confirmed. Moreover, the workflow may be executed tomodify the already created similarity behavioral clusters or to add newsimilarity behavioral clusters as some of the clusters became inactiveor obsolete. The process may be also repeated after trustfulnessclusters are created or modified.

Once at least one similarity behavioral cluster is created, additionalsimilarity behavioral clusters may be created. The clusters may overlapor may be separated from each other. As the process is repeated, someclusters may become inactive or obsolete, while others may be becomelarger or smaller. Furthermore as new incidents are detected, newclusters may be created or the existed clusters may be modified.

In step 1010, a plurality of input incident data records are received ata security system. In an embodiment, the plurality of input incidentdata records includes records of any number of non-confirmed incidentsand records any number of confirmed incidents as long as at least twoincident data records are received. It should be appreciated that insome situations, a similarity behavioral cluster may be created based onjust one incident data record.

In step 1020, a plurality of input incident data records are scanned toidentify two or more second incident data records that contain aparticular behavioral characteristic value. For example, the pluralityof input incident data records can be scanned to identify two or moresecond incident data records that contain the behavioral characteristicvalue corresponding to an identifier of a particular behavioralcharacteristic, such as a volume data characteristic 562 in FIG. 5B.

In step 1030, two or more second incident data records that contain aparticular origin characteristic value are compared to a stored tablethat maps particular sets of behavioral characteristics values toindications of malware. For example, the two or more second incidentdata records that contain the identifier of a particular behavioralcharacteristic may be compared to a malicious incident behavioral datatable 1102 of FIG. 11B to determine whether the malicious incidentbehavioral data table 1102 contains an indication that the particularbehavioral characteristic is known to be indicative of a maliciousattack.

In step 1040, using a table such as a malicious incident behavioral datatable 1102 of FIG. 11B, the process determines whether two or moresecond incident data includes the behavioral characteristic value knownto indicate a malicious attack.

In step 1050, the process determines whether the test performed in step1040 returned a positive result. If so, the process proceeds to step1060. Otherwise, the process proceeds to step 1020, in which a pluralityof input incident data records is scanned again to identify differenttwo or more second incident data records that contain a particularbehavioral characteristic value. For example, the process may scan theincident data records to identify this time two or more second incidentdata records that contain the behavioral characteristic valuecorresponding to an identifier of a particular behavioralcharacteristic, such as a persistence data 564 in FIG. 5B.

In step 1060, a similarity behavioral cluster record is created. In anembodiment, creating a similarity behavioral cluster record includesallocating a block of memory or disc space, associating a pointer and orother location identifier to the block of memory or the disc space, andconfiguring the block of memory or disc space for storing the similaritybehavioral cluster record. Furthermore, the process may generate anidentifier for the similarity behavioral cluster and store theidentifier in the similarity behavioral cluster record.

In an embodiment, creating a similarity behavioral cluster recordincludes generating an initial severity level value and an initialconfidence score and including them in the similarity behavioral clusterrecord. Generating an initial severity level value may include settingthe initial severity level value to a predetermined initial level value,while generating an initial confidence score may include setting theinitial confidence score to a predetermined initial score value.

In step 1070, two or more second incident data records, which contain anidentifier of a particular behavioral characteristics know to be causedby a malicious attack and which is included in the two or more secondincident data records, are included in a similarity behavioral clusterrecord.

In an embodiment, once steps 1060, 1070 are performed, a similaritybehavioral cluster record may include an identifier of the similaritybehavioral cluster, an initial severity level value, an initialconfidence score, and two or more second incident data recordscontaining the identifier of the particular behavioral characteristicknown to be caused by a malicious attack.

In step 1080, at least one initial severity level value and at least oneinitial confidence score for each of two or more second incidentsincluded in a similarity behavioral cluster are modified. For example,an initial severity level value for a particular second incident may bemodified by computing a sum of all initial severity level valuesassociated with the second incidents, and dividing the sum by a count ofthe second incidents included in the similarity behavioral cluster. Theobtained result may be associated with a particular second incident datarecord associated with the particular second incident and stored inassociation with the particular second incident record in a similaritybehavioral cluster record.

Furthermore, an initial confidence score for a particular secondincident may be modified by computing a sum of all initial confidencescores associated with the second incidents, and dividing the sum by acount of the second incidents included in the similarity behavioralcluster. The obtained result may be associated with a particular secondincident data record associated with the particular second incident andstored in association with the particular second incident record in asimilarity behavioral cluster record.

The process described above is executed for creating a similaritybehavioral cluster for incidents most likely caused by attacks known tobe malicious. However, the process may also be executed for creatingother types of clusters, including a similarity behavioral cluster forincidents most likely caused by attacks known to be benign, or the like.In fact, the process described in FIG. 10 may be used to create any typeof similarity behavioral cluster.

The above workflow process may be repeated multiple times. Each time theworkflow process is repeated, the previously determined level values andscores may be interpreted as initial level values and initial scores. Byrepeating the workflow process multiple times, the selection and contentof the trustfulness clusters may be refined and improved.

15. Malicious Incident Behavioral Data Tables

FIG. 11A illustrates an example of a malicious incident origin datatable 1152. The table depicted in FIG. 11A is one or many datastructures that may be used to represent a mapping between sets oforigin characteristic values and indications of malware. Other datastructures, not depicted in FIG. 11A, may include, but are not limitedto including, data structures containing data pointers to storagecontainers, hierarchical databases and the like.

In an embodiment, a malicious incident origin data table 1152 comprisesone or more rows and a plurality of columns. A row in malicious incidentorigin data table 1152 may be used to store set identifiers ofcharacteristic value sets, one or more origin characteristic values foreach of the characteristic value sets, and characteristics of the originfor each characteristic value set.

In an embodiment, a row in malicious incident origin data table 1152comprises an identifier of a first set 1154, one or more origincharacteristic values for the first set 1154, and an indication 1153that the first set 1154 is known to be associated with attacks known tobe launched from an attacker that has launched malicious attacks. In thedepicted example, the one or more origin characteristic values for thefirst set 1154 may include a first origin characteristic value 1155, asecond origin characteristic value 1156, a fifth origin characteristicvalue 1157, and an eighth origin characteristic value 1158. Otherexamples may include additional origin characteristic values, or mayinclude different sets of the origin characteristic values.

In an embodiment, a row in a malicious incident origin data table 1152comprises an identifier of a second set 1164, one or more origincharacteristic values for the second set 1164, and an indication 1163that the second set 1164 is known to be associated with attacks known tobe launched from an attacker that has launched borderline maliciousattacks. In the depicted example, the one or more origin characteristicvalues for the second set 1164 may include a third origin characteristicvalue 1165, and a seventh origin characteristic value 1166. Otherexamples may include additional origin characteristic values, or mayinclude different sets of the origin characteristic values.

16. Malicious Origin Data Tables

FIG. 11B illustrates an example of a malicious incident behavioral datatable 1102. The table depicted in FIG. 11B is one or many datastructures that may be used to represent a mapping between sets ofbehavioral characteristic values and indications of malware. Other datastructures, not depicted in FIG. 11B, may include, but are not limitedto including, data structures containing data pointers to storagecontainers, hierarchical databases, and the like.

In an embodiment, a malicious incident behavioral data table 1102comprises one or more rows and a plurality of columns. A row inmalicious incident behavioral data table 1102 may be used to store setidentifiers of characteristic value sets, one or more behavioralcharacteristic values for each of the characteristic value sets, andclassifications for each characteristic value set.

In an embodiment, a row in malicious incident origin data table 1102comprises an identifier of a first set 1104, one or more behavioralcharacteristic values for the first set 1104, and an indication 1103that the first set 1104 is known to be associated with attacks known tobe malicious attacks. In the depicted example, the one or morebehavioral characteristic values for the first set 1104 may include afirst behavioral characteristic value 1105, a third behavioralcharacteristic value 1106, and a fourth behavioral characteristic value1107. Other examples may include additional origin characteristicvalues, or may include different sets of the origin characteristicvalues.

In an embodiment, a row in malicious incident origin data table 1102comprises an identifier of a second set 1124, one or more behavioralcharacteristic values for the second set 1124, and an indication 1123that the second set 1124 is known to be associated with attacks known tobe borderline malicious attacks. In the depicted example, the one ormore behavioral characteristic values for the second set 1124 mayinclude a second behavioral characteristic value 1125, an eightbehavioral characteristic value 1126, and a ninth behavioralcharacteristic value 1127. Other examples may include additional origincharacteristic values, or may include different sets of the origincharacteristic values.

In an embodiment, a clustering approach allows improving the accuracy inwhich attacks on computer networks are identified and classified. Bycreating various types of clusters of incidents, the approach allowsconfirming whether incidents initially classified as malicious areindeed malicious, whether they are borderline malicious or merelybenign. By allowing more accurate and precise classification of theincidents, a security system may generate more accurate reports and maygenerate more accurate notifications.

In an embodiment, a clustering approach overcomes many shortcomings ofnetwork security systems. For example, the clustering approach allowssolving the problems when the network security systems incorrectlyprioritize the detected incidents or fail to associate correct contextto the detected incidents. Furthermore, the clustering approach allowssolving the problems when the network security systems incorrectly groupthe incident data received from multiple networks or multiple systems.

17. Implementation Example Hardware Overview

According to one embodiment, the techniques described herein areimplemented by one or more special-purpose computing devices. Thespecial-purpose computing devices may be hard-wired to perform thetechniques, or may include digital electronic devices such as one ormore application-specific integrated circuits (ASICs) or fieldprogrammable gate arrays (FPGAs) that are persistently programmed toperform the techniques, or may include one or more general purposehardware processors programmed to perform the techniques pursuant toprogram instructions in firmware, memory, other storage, or acombination. Such special-purpose computing devices may also combinecustom hard-wired logic, ASICs, or FPGAs with custom programming toaccomplish the techniques. The special-purpose computing devices may bedesktop computer systems, portable computer systems, handheld devices,networking devices or any other device that incorporates hard-wiredand/or program logic to implement the techniques.

For example, FIG. 12 is a block diagram that illustrates a computersystem 1200 upon which an embodiment of the approach may be implemented.Computer system 1200 includes a bus 1202 or other communicationmechanism for communicating information, and a hardware processor 1204coupled with bus 1202 for processing information. Hardware processor1204 may be, for example, a general purpose microprocessor.

Computer system 1200 also includes a main memory 1206, such as a randomaccess memory (RAM) or other dynamic storage device, coupled to bus 1202for storing information and instructions to be executed by processor1204. Main memory 1206 also may be used for storing temporary variablesor other intermediate information during execution of instructions to beexecuted by processor 1204. Such instructions, when stored innon-transitory storage media accessible to processor 1204, rendercomputer system 1200 into a special-purpose machine that is customizedto perform the operations specified in the instructions.

Computer system 1200 further includes a read only memory (ROM) 1208 orother static storage device coupled to bus 1202 for storing staticinformation and instructions for processor 1204. A storage device 1210,such as a magnetic disk, optical disk, or solid-state drive is providedand coupled to bus 1202 for storing information and instructions.

Computer system 1200 may be coupled via bus 1202 to a display 1212, suchas a cathode ray tube (CRT), for displaying information to a computeruser. An input device 1214, including alphanumeric and other keys, iscoupled to bus 1202 for communicating information and command selectionsto processor 1204. Another type of user input device is cursor control1216, such as a mouse, a trackball, or cursor direction keys forcommunicating direction information and command selections to processor1204 and for controlling cursor movement on display 1212. This inputdevice typically has two degrees of freedom in two axes, a first axis(e.g., x) and a second axis (e.g., y), that allows the device to specifypositions in a plane.

Computer system 1200 may implement the techniques described herein usingcustomized hard-wired logic, one or more ASICs or FPGAs, firmware and/orprogram logic which in combination with the computer system causes orprograms computer system 1200 to be a special-purpose machine. Accordingto one embodiment, the techniques herein are performed by computersystem 1200 in response to processor 1204 executing one or moresequences of one or more instructions contained in main memory 1206.Such instructions may be read into main memory 1206 from another storagemedium, such as storage device 1210. Execution of the sequences ofinstructions contained in main memory 1206 causes processor 1204 toperform the process steps described herein. In alternative embodiments,hard-wired circuitry may be used in place of or in combination withsoftware instructions.

The term storage media as used herein refers to any non-transitory mediathat store data and/or instructions that cause a machine to operate in aspecific fashion. Such storage media may comprise non-volatile mediaand/or volatile media. Non-volatile media includes, for example, opticaldisks, magnetic disks, or solid-state drives, such as storage device1210. Volatile media includes dynamic memory, such as main memory 1206.Common forms of storage media include, for example, a floppy disk, aflexible disk, hard disk, solid-state drive, magnetic tape, or any othermagnetic data storage medium, a CD-ROM, any other optical data storagemedium, any physical medium with patterns of holes, a RAM, a PROM, andEPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge.

Storage media is distinct from but may be used in conjunction withtransmission media. Transmission media participates in transferringinformation between storage media. For example, transmission mediaincludes coaxial cables, copper wire and fiber optics, including thewires that comprise bus 1202. Transmission media can also take the formof acoustic or light waves, such as those generated during radio-waveand infra-red data communications.

Various forms of media may be involved in carrying one or more sequencesof one or more instructions to processor 1204 for execution. Forexample, the instructions may initially be carried on a magnetic disk orsolid-state drive of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 1200 canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 1202. Bus 1202 carries the data tomain memory 1206, from which processor 1204 retrieves and executes theinstructions. The instructions received by main memory 1206 mayoptionally be stored on storage device 1210 either before or afterexecution by processor 1204.

Computer system 1200 also includes a communication interface 1218coupled to bus 1202. Communication interface 1218 provides a two-waydata communication coupling to a network link 1220 that is connected toa local network 1222. For example, communication interface 1218 may bean integrated services digital network (ISDN) card, cable modem,satellite modem, or a modem to provide a data communication connectionto a corresponding type of telephone line. As another example,communication interface 1218 may be a local area network (LAN) card toprovide a data communication connection to a compatible LAN. Wirelesslinks may also be implemented. In any such implementation, communicationinterface 1218 sends and receives electrical, electromagnetic or opticalsignals that carry digital data streams representing various types ofinformation.

Network link 1220 typically provides data communication through one ormore networks to other data devices. For example, network link 1220 mayprovide a connection through local network 1222 to a host computer 1224or to data equipment operated by an Internet Service Provider (ISP)1226. ISP 1226 in turn provides data communication services through theworld wide packet data communication network now commonly referred to asthe Internet 1228. Local network 1222 and Internet 1228 both useelectrical, electromagnetic or optical signals that carry digital datastreams. The signals through the various networks and the signals onnetwork link 1220 and through communication interface 1218, which carrythe digital data to and from computer system 1200, are example forms oftransmission media.

Computer system 1200 can send messages and receive data, includingprogram code, through the network(s), network link 1220 andcommunication interface 1218. In the Internet example, a server 1230might transmit a requested code for an application program throughInternet 1228, ISP 1226, local network 1222 and communication interface1218.

The received code may be executed by processor 1204 as it is received,and/or stored in storage device 1210, or other non-volatile storage forlater execution.

In the foregoing specification, embodiments of the approach have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. The specification and drawings are,accordingly, to be regarded in an illustrative rather than a restrictivesense. The sole and exclusive indicator of the scope of the approach,and what is intended by the applicants to be the scope of the approach,is the literal and equivalent scope of the set of claims that issue fromthis application, in the specific form in which such claims issue,including any subsequent correction.

What is claimed is:
 1. A data processing method, performed by one ormore processors of a computing device for creating and storing clustersof incident data records based on behavioral characteristic values inthe incident data records and origin characteristic values in theincident data records, the method comprising: receiving a plurality ofinput incident data records comprising sets of computer networkattribute values determined based upon a plurality of incidents thathave occurred in one or more computer networks; wherein an incident datarecord of the plurality of input incident data records comprises atleast one or more behavioral characteristic values, a severity levelvalue, and a confidence score value; identifying two or more firstincident data records that have a particular behavioral characteristicvalue stored in all of the two or more first incident data records;using a malicious incident behavioral data table stored in a datastorage device that maps sets of behavioral characteristic values toidentifiers of malicious acts in the one or more computer networks, anda plurality of comparison operations using the malicious incidentbehavioral data table and the two or more first incident data records,determining whether any of the two or more first incident data recordshas been identified as malicious; and in response to determining that afirst incident data record, from the two or more first incident datarecords, has been identified as malicious: creating and storing in acomputer memory a similarity behavioral cluster record that includes thetwo or more first incident data records; modifying severity level valuesthat are stored in each of the two or more first incident data recordsby increasing the severity level values by a first value; modifyingconfidence score values that are stored in each of the two or more firstincident data records by increasing the confidence score values by asecond value.
 2. The data processing method of claim 1, wherein themodifying of the severity level values for each of the two or more firstincident data records that are included in the similarity behavioralcluster record is based on a severity or a trustfulness associated tothe similarity behavioral cluster record.
 3. The data processing methodof claim 1, wherein the particular behavioral characteristic value isone or more of: data tunneling data, data indicating contacting randomlygenerated domains, data indicating verifying connections, dataindicating issuing periodical polling requests, data indicatingtunneling through certain domains and nodes, or data indicatingdownloading executable files.
 4. The data processing method of claim 1,wherein the similarity behavioral cluster record has a severity levelvalue determined as an average value of the severity level values ofincidents that are included in the similarity behavioral cluster record.5. The data processing method of claim 1, wherein modifying theconfidence scores for each of the two or more first incident datarecords in the similarity behavioral cluster is based on one or more of:a size of the similarity behavioral cluster, a count of confirmedinfected users, a count of confirmed malicious domains, or whether thesimilarity behavioral cluster has been verified to be malicious; whereineach of the confidence scores has a value between 0% and 100%; andwherein the value of 100% indicates that incidents included in thesimilarity behavioral cluster record are confirmed malware incidents. 6.The data processing method of claim 1, wherein the incident data recordof the plurality of input incident data records further comprises anorigin characteristic value of an originator of an incident, and whereinthe method further comprises: identifying two or more second incidentdata records of the plurality of input incident record data, that have aparticular origin characteristic value stored in all of the two or moresecond incident data records; using a malicious incident origin datatable stored in the data storage device that maps sets of origincharacteristic values to identifiers of malicious incident origins, andthe plurality of comparison operations using the malicious incidentorigin data table and the two or more second incident data records,determining whether any of the two or more second incident data recordshas been identified as malicious; and in response to determining that asecond incident data record, from the two or more second incident datarecords, has been identified as malicious: creating and storing in thecomputer memory a trustfulness cluster record that includes the two ormore second incident data records; modifying severity level values thatare stored in each of the two or more second incident data records byincreasing the severity level values by a third value; modifyingconfidence scores that are stored in each of the two or more secondincident data records by increasing the confidence score values by afourth value; and determining a trustfulness level value for thetrustfulness cluster record.
 7. The data processing method of claim 6,wherein the severity level value of the incident indicates amaliciousness severity of the incident; wherein the confidence score ofthe incident indicates how close the incident is to a correspondingclassified behavior.
 8. The data processing method of claim 6, whereineach incident data record, from the plurality of input incident datarecords, is initially assigned an initial severity level value and aninitial confidence score.
 9. The data processing method of claim 6,wherein the trustfulness cluster record has a severity level valuedetermined as an average value of the severity level values assigned tosecond incident data records that belong to the trustfulness clusterrecord.
 10. The data processing method of claim 6, wherein theparticular origin characteristic value is one or more of: a networkdomain identifier, a network domain name, an IP address of a device, anIP address of a group of devices, an email address of a user, an IPaddress of a user device.
 11. A device comprising: a memory unit; one ormore processors of a computing device configured as a server, configuredto perform instructions stored in the memory unit, for creating andstoring clusters of incident data records based on behavioralcharacteristic values in the incident data records and origincharacteristic values in the incident data records, wherein execution ofthe instructions by the processors causes: receiving a plurality ofinput incident data records comprising sets of computer networkattribute values determined based upon a plurality of incidents thathave occurred in one or more computer networks; wherein an incident datarecord of the plurality of input incident data records comprises atleast one or more behavioral characteristic values, a severity levelvalue, and a confidence score value; identifying two or more firstincident data records that have a particular behavioral characteristicvalue stored in all of the two or more first incident data records;using a malicious incident behavioral data table stored in a datastorage device that maps sets of behavioral characteristic values toidentifiers of malicious acts in the network, and a plurality ofcomparison operations using the malicious incident behavioral data tableand the two or more first incident data records, determining whether anyof the two or more first incident data records has been identified asmalicious; and in response to determining that a first incident datarecord, from the two or more first incident data records, has beenidentified as malicious: creating and storing in computer memory asimilarity behavioral cluster record that includes the two or more firstincident data records; modifying severity level values that are storedin each of the two or more first incident data records by increasing theseverity level values by a first value; and modifying confidence scorevalues that are stored in each of the two or more first incident datarecords by increasing the confidence score values by a second value. 12.The device of claim 11, wherein the modifying of the severity levelvalues for each of the two or more first incident data records that areincluded in the similarity behavioral cluster record is based on aseverity or a trustfulness associated to the similarity behavioralcluster record.
 13. The device of claim 11, wherein the particularbehavioral characteristic value is one or more of: data tunneling data,data indicating contacting randomly generated domains, data indicatingverifying connections, data indicating issuing periodical pollingrequests, data indicating tunneling through certain domains and nodes,or data indicating downloading executable files.
 14. The device of claim11, wherein the similarity behavioral cluster record has a severitylevel value determined as an average value of the severity level valuesof incidents that are included in the similarity behavioral clusterrecord.
 15. The device of claim 11, wherein modifying the confidencescores for each of the two or more first incident data records in thesimilarity behavioral cluster is based on one or more of: a size of thesimilarity behavioral cluster, a count of confirmed infected users, acount of confirmed malicious domains, or whether the similaritybehavioral cluster has been verified to be malicious; wherein each ofthe confidence scores has a value between 0% and 100%; and wherein thevalue of 100% indicates that incidents included in the similaritybehavioral cluster record are confirmed malware incidents.
 16. Thedevice of claim 11, wherein the incident data record of the plurality ofinput incident data records further comprises an origin characteristicvalue of an originator of an incident; wherein execution of theinstructions by the processors causes: identifying two or more secondincident data records, of the plurality of incident record data, thathave a particular origin characteristic value stored in all of the twoor more second incident data records; using a malicious incident origindata table stored in the data storage device that maps sets of origincharacteristic values to identifiers of malicious incident origins, andthe plurality of comparison operations using the malicious incidentorigin data table and the two or more second incident data records,determining whether any of the two or more second incident data recordshas been identified as malicious; and in response to determining that asecond incident data record, from the two or more second incident datarecords, has been identified as malicious: creating and storing in thecomputer memory a trustfulness cluster record that includes the two ormore second incident data records; modifying severity level values thatare stored in each of the two or more second incident data records byincreasing the severity level values by a third value; modifyingconfidence scores that are stored in each of the two or more secondincident data records by increasing the confidence score values by afourth value; and determining a trustfulness level value for thetrustfulness cluster record.
 17. The device of claim 16, wherein theseverity level value of the incident indicates a maliciousness severityof the incident; wherein the confidence score of the incident indicateshow close the incident is to a corresponding classified behavior. 18.The device of claim 16, wherein each incident data record, from theplurality of input incident data records, is initially assigned aninitial severity level value and an initial confidence score.
 19. Thedevice of claim 16, wherein the trustfulness cluster record has aseverity level value determined as an average value of the severitylevel values assigned to incident data records that belong to thetrustfulness cluster record.
 20. A non-transitory computer readablestorage medium soring one or more instructions which, when executed byone or more processors, cause the processors to perform: receiving aplurality of input incident data records comprising sets of computernetwork attribute values determined based upon a plurality of incidentsthat have occurred in one or more computer networks; wherein an incidentdata record of the plurality of input incident data records comprises atleast one or more behavioral characteristic values, a severity levelvalue, and a confidence score value; identifying two or more firstincident data records that have a particular behavioral characteristicvalue stored in all of the two or more first incident data records;using a malicious incident behavioral data table stored in a datastorage device that maps sets of behavioral characteristic values toidentifiers of malicious acts in the network, and a plurality ofcomparison operations using the malicious incident behavioral data tableand the two or more first incident data records, determining whether anyof the two or more first incident data records has been identified asmalicious; and in response to determining that a first incident datarecord, from the two or more first incident data records, has beenidentified as malicious: creating and storing in a computer memory asimilarity behavioral cluster record that includes the two or more firstincident data records; modifying severity level values that are storedin each of the two or more first incident data records by increasing theseverity level values by a first value; and modifying confidence scorevalues that are stored in each of the two or more first incident datarecords by increasing the confidence score values by a second value.